﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;

/// <summary>
/// Summary description for Minicurso
/// </summary>
public partial class Minicurso
{
    public static List<Minicurso> findByEvento(Guid idEvento)
    {
        DataClassesDataContext dc = new DataClassesDataContext();
        return dc.Minicursos.Where(p => p.idEvento.Equals(idEvento)).ToList();
    }
    public static bool createMinicurso(Minicurso minicurso)
    {
        try
        {
            DataClassesDataContext dc = new DataClassesDataContext();
            dc.Minicursos.InsertOnSubmit(minicurso);
            dc.SubmitChanges();
            return true;
        }
        catch (Exception e)
        {
            return false;
        }
    }
    public static Minicurso findMinicurso(Guid idMinicurso)
    {
        DataClassesDataContext dc = new DataClassesDataContext();
        return dc.Minicursos.Single(p => p.id.Equals(idMinicurso));
    }
    public static bool changeMinicurso(string idMinicurso, string titulo, string descricao, string vagas, string local)
    {
        try
        {
            DataClassesDataContext dc = new DataClassesDataContext();
            Minicurso minicurso = dc.Minicursos.Single(p => p.id.Equals(new Guid(idMinicurso)));
            minicurso.descricao = descricao;
            minicurso.local = local;
            minicurso.titulo = titulo;
            minicurso.vagas = Convert.ToInt32(vagas);
            dc.SubmitChanges();
            return true;
        }
        catch (Exception ex)
        {
            return false;
        }
    }
    public static bool existMinicurso(Guid idMinicurso)
    {
        DataClassesDataContext dc = new DataClassesDataContext();
        return dc.Minicursos.Any(p => p.id.Equals(idMinicurso));
    }
    public static bool excludeMinicurso(Guid idMinicurso)
    {
        try
        {
            DataClassesDataContext dc = new DataClassesDataContext();
            if (MinicursoMinistrante.existMinistranteByMiniscurso(idMinicurso))
                MinicursoMinistrante.excludeMinistranteByMinicurso(idMinicurso);
            if (existMinicurso(idMinicurso))
            {
                Minicurso minicurso = dc.Minicursos.Single(p => p.id.Equals(idMinicurso));
                dc.Minicursos.DeleteOnSubmit(minicurso);
                dc.SubmitChanges();
                return true;
            }
            return false;
        }
        catch (Exception ex)
        {
            return false;
        }
    }
}